home *** CD-ROM | disk | FTP | other *** search
/ Champak 45 / Vol 45.iso / games / bubblegu.swf / scripts / frame_2 / DoAction_10.as next >
Encoding:
Text File  |  2007-04-20  |  3.3 KB  |  153 lines

  1. String.prototype.isEmail = function()
  2. {
  3.    var ref = arguments.callee;
  4.    if(this.indexOf("@") == -1)
  5.    {
  6.       return false;
  7.    }
  8.    if(!isNaN(this.charAt(0)))
  9.    {
  10.       return false;
  11.    }
  12.    var email;
  13.    var user;
  14.    var domain;
  15.    var user_dots;
  16.    var domain_dots;
  17.    if(email = this.split("@").length == 2)
  18.    {
  19.       if((domain = email[1]).split(".").pop().length > 4)
  20.       {
  21.          return false;
  22.       }
  23.       if(domain.split(".").length < 2)
  24.       {
  25.          return false;
  26.       }
  27.       if((user = email[0]).indexOf(".") && domain.indexOf("."))
  28.       {
  29.          if(user.length == 1 || domain.length == 1)
  30.          {
  31.             return false;
  32.          }
  33.          if(domain.lastIndexOf(".") > domain.length - 3)
  34.          {
  35.             return false;
  36.          }
  37.          var _loc1_ = undefined;
  38.          var _loc3_ = undefined;
  39.          var _loc2_ = user_dots = user.split(".").length;
  40.          while(true)
  41.          {
  42.             _loc2_;
  43.             if(!_loc2_--)
  44.             {
  45.                break;
  46.             }
  47.             _loc1_ = user_dots[_loc2_];
  48.             _loc3_ = !ref.$_text.call(_loc1_,"-",".","_");
  49.             if(_loc3_ || !isNaN(_loc1_))
  50.             {
  51.                return false;
  52.             }
  53.          }
  54.          _loc2_ = domain_dots = domain.split(".").length;
  55.          while(true)
  56.          {
  57.             _loc2_;
  58.             if(!_loc2_--)
  59.             {
  60.                break;
  61.             }
  62.             _loc1_ = domain_dots[_loc2_];
  63.             _loc3_ = !ref.$_text.call(_loc1_,"-",".");
  64.             if(_loc3_ || !isNaN(_loc1_))
  65.             {
  66.                return false;
  67.             }
  68.          }
  69.          return true;
  70.       }
  71.       return false;
  72.    }
  73.    return false;
  74. };
  75. String.prototype.isEmail.$_punctuation = function()
  76. {
  77.    var _loc2_ = this;
  78.    var _loc3_ = arguments;
  79.    if(_loc2_ == "")
  80.    {
  81.       return false;
  82.    }
  83.    var _loc1_ = _loc3_.length;
  84.    while(true)
  85.    {
  86.       _loc1_;
  87.       if(!_loc1_--)
  88.       {
  89.          break;
  90.       }
  91.       if(_loc2_.indexOf(_loc3_[_loc1_]) == 0)
  92.       {
  93.          return false;
  94.       }
  95.       if(_loc2_.indexOf(_loc3_[_loc1_]) == _loc2_.length - 1)
  96.       {
  97.          return false;
  98.       }
  99.    }
  100.    return true;
  101. };
  102. String.prototype.isEmail.$_text = function()
  103. {
  104.    var ref = arguments.caller;
  105.    if(!ref.$_punctuation.apply(this,arguments))
  106.    {
  107.       return false;
  108.    }
  109.    var others = arguments;
  110.    var checkOthers = function(str)
  111.    {
  112.       var _loc2_ = str;
  113.       var _loc1_ = others.length;
  114.       while(true)
  115.       {
  116.          _loc1_;
  117.          if(!_loc1_--)
  118.          {
  119.             break;
  120.          }
  121.          if(_loc2_ == others[_loc1_])
  122.          {
  123.             return true;
  124.          }
  125.       }
  126.       return false;
  127.    };
  128.    var _loc1_ = undefined;
  129.    var alpha;
  130.    var _loc3_ = undefined;
  131.    var _loc2_ = this.length;
  132.    while(true)
  133.    {
  134.       _loc2_;
  135.       if(!_loc2_--)
  136.       {
  137.          break;
  138.       }
  139.       _loc1_ = this.charAt(_loc2_).toLowerCase();
  140.       alpha = _loc1_ <= "z" && _loc1_ >= "a";
  141.       _loc3_ = _loc1_ <= "9" && _loc1_ >= "0";
  142.       if(!alpha && !_loc3_ && !checkOthers(_loc1_))
  143.       {
  144.          return false;
  145.       }
  146.    }
  147.    return true;
  148. };
  149. var _trace = function(address)
  150. {
  151.    return "(" + address + "): " + address.isEmail();
  152. };
  153.